/*
 *  Identity.h
 *  TubeTruck
 *
 *  Created by Aeturnum on 5/22/08.
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
 *
 */

#pragma once

#include "BlowFish.h"
#include "Signer.h"
#include "Encryptor.h"
#include "SKey.h"
#include "EKey.h"
#include "RSA.h"
#include <string>
#include <vector>

namespace TTP {
   namespace Crypt{
      class Identity : public Signer, Encryptor {
      protected:
         TTP::Crypt::RSA mId;
      public:
         Identity();
         Identity(int);
         Identity(std::vector<byte>&);
         ~Identity();
         Identity(const Identity&);
         uint32_t getIdHash();
         SKey* getSignKey();
         EKey* getEnKey();
      };
   }
}